On a shared platform, server resources are shared between all sites on the server, and the performance of your site hinges upon every other site on that server being well-behaved. In a shared environment, server configuration and installed modules are essentially locked down – some provision is made to allow for end-user configuration (PHP.ini modification for example), but essentially, you have to take what you’re given.
What a VPS offers you is a dedicated server environment that is located on shared hardware. You purchase a dedicated allocation of resources, and they are not shared with other users. To the end-user a Virtual server is functionally identical to a dedicated server. So essentially, a VPS offers you the same level of control as a dedicated server, but without the price-tag.